'use strict';
const moment = require('moment');

//下单
module.exports = app => {
    const {
        STRING,
        INTEGER,

    } = app.Sequelize;
    const OrderBuy = app.model.define('orderBuy', {
        id: {
            primaryKey: true,
            type: INTEGER,
            autoIncrement: true
        },
        userId: { ////用户ID 
            type: INTEGER,
            allowNull: false,
            // unique: true,不要唯一性 
        },
        orderMoney: { //实际付的
            type: INTEGER(4),
            allowNull: false
        },
        orderCount: { //下单的数量   
            type: INTEGER(2),
            allowNull: false
        },
        payType: { //用户付的方式 1 支  2 微   3 卡
            type: INTEGER(1),
            allowNull: false
        },
        status: { // 1:是已经申请并tx的,
            type: INTEGER(1),
            allowNull: false
        },
        userPayName: { //用户发来付号的名字
            type: STRING(50),
            allowNull: false
        },
    }, {
        freezeTableName: true, // Model 对应的表名将与model名相同  
        timestamps: true, //自动添加createdAt、updatedAt两个字段，分别表示创建和更新时间,且时间是实际时间,表里显示的是2019-02-13 23:50:20
        charset: 'utf8', //解决表格中文显示乱码???问题
        underscored: false, ////不要改此   false: 字段以下划线（_）来分割（默认是驼峰命名风格）
        collate: 'utf8_general_ci', //解决表格中文显示乱码???问题 删除表后重新建表
        paranoid: true, // 可以在限制的数量内进行重复下单 
    });
    OrderBuy.associate = () => {
        // console.log("--------------====")
        app.model.OrderBuy.belongsTo(app.model.User, {
            as: 'user',
            onDelete: 'CASCADE',
            foreignKey: 'userId', //此userId 与 user表的 id  是对应的
        })
    }
    return OrderBuy;
};